package com.wwu.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.wwu.common.web.ResultPage;
import com.wwu.system.entity.SysDictType;
import java.util.List;

/**
 * 系统字典类型服务接口类
 * @author 一蓑烟雨
 * @date 2023-07-03
 * @version 1.0.0
 */
public interface ISysDictTypeService extends IService<SysDictType> {

    /**
     * 根据字典类型编码或名称获取字典类型
     * @param dictTypeId   字典类型编码
     * @param dictTypeName  字典类型名称
     * @return com.wwu.system.entity.SysDictType
     * @author 一蓑烟雨
     * @date 2023/7/3 20:00
     */
    SysDictType getDictTypeByIdOrName(String dictTypeId, String dictTypeName);

    /**
     * 分页查询系统字典类型信息
     * @param pageNum  页码
     * @param pageSize  每页数量
     * @param sysDictType  字典类型实体信息
     * @return com.wwu.common.web.ResultPage<com.wwu.system.entity.SysDictType>
     * @author 一蓑烟雨
     * @date 2023/7/3 18:02
     */
    ResultPage<SysDictType> getDictTypeListPage(Integer pageNum, Integer pageSize, SysDictType sysDictType);

    /**
     * 添加字典类型信息
     * @param sysDictType  字典类型实体信息
     * @author 一蓑烟雨
     * @date 2023/7/3 18:02
     */
    void saveDictType(SysDictType sysDictType);

    /**
     * 更新字典类型信息
     * @param sysDictType  字典类型实体信息
     * @author 一蓑烟雨
     * @date 2023/7/3 18:02
     */
    void updateDictType(SysDictType sysDictType);

    /**
     * 更新字典类型状态
     * @param dictTypeId 字典类型编码
     * @param dictTypeStatus 字典类型状态
     * @author 一蓑烟雨
     * @date 2023/7/3 18:02
     */
    void updateDictTypeStatus(String dictTypeId, Integer dictTypeStatus);

    /**
     * 删除字典类型(逻辑删除)
     * @param dictTypeIds 字典类型编码集合
     * @author 一蓑烟雨
     * @date 2023/7/3 18:02
     */
    void deleteDictType(List<String> dictTypeIds);


}
